package LogicaFM;

import java.util.Date;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;

import ExcepcionesFM.ExcepcionPuntuacionInvalida;


public class Fecha {
	
	private int numeroFecha;
	private Date inicioVeda;
	private Date finVeda;
	private boolean estadoFecha;
	private ArrayList<Partido> partidos;
	
	/*public Fecha(int object, Date tmp, Date tmp2, boolean object4, Partido[] partidos2) {
		numeroFecha=object;
		inicioVeda=tmp;
		finVeda=tmp2;
		estadoFecha=object4;
		ArrayList<Partido> list = (ArrayList<Partido>) Arrays.asList(partidos2);
		partidos=list;
		
	}*/

	public Fecha(int numFecha, java.util.Date iVeda, java.util.Date fVeda,
			boolean estado, Partido[] partidosFecha) {
		
		numeroFecha = numFecha;
		inicioVeda = iVeda;
		finVeda = fVeda;
		estadoFecha = estado;
		partidos =  new ArrayList<Partido>(Arrays.asList(partidosFecha));
		
	}

	public Fecha(int nro) {
		numeroFecha = nro;
	}

	public int getNumeroFecha() {

		return numeroFecha;
	}

	public Partido getPartido(int indice) {
 
		return partidos.get(indice);
	}

	public void cerrar() throws ExcepcionPuntuacionInvalida{
		
		int i = 0;
		boolean estadoPuntaje = true;
		
		//SACAR DESPUES!
		/*while(i<partidos.size() && estadoPuntaje){
			
			estadoPuntaje = partidos.get(i).puntajeCompleto(numeroFecha);
			
			if(estadoPuntaje == false)
				throw new ExcepcionPuntuacionInvalida("No se han cargado todas las puntuacion del partido entre "+partidos.get(i).getNombreLocal()+" y "+partidos.get(i).getNombreVisitante());
		}*/
		
		estadoFecha = true;
	}

	public ArrayList<Partido> getTodosLosPartidos() {
		
		return partidos;
	}

	public Date getInicioVeda() {
		return inicioVeda;
	}

	public boolean getEstado() {
		
		return estadoFecha;
	}

	
}